/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/*
 * As a general rule, only chipset-specific property overrides should be placed
 * inside this file. However, device definitions should be placed inside the
 * msm8974.dtsi / msm8974pro.dtsi file(s).
 */

/include/ "msm8974pro.dtsi"

/include/ "msm-pma8084-rpm-regulator.dtsi"
/include/ "msm-pma8084.dtsi"
/include/ "msm8974pro-pma8084-regulator.dtsi"

/*
 * Override PM8841 and PM8941 resources with proper PMA8084 resources for
 * MSM8974Pro AC.
 */

&soc {
	qcom,csid@fda08000  {
		qcom,mipi-csi-vdd-supply = <&pma8084_l12>;
	};

	qcom,csid@fda08400 {
		qcom,mipi-csi-vdd-supply = <&pma8084_l12>;
	};

	qcom,csid@fda08800 {
		qcom,mipi-csi-vdd-supply = <&pma8084_l12>;
	};

	qcom,csid@fda08C00 {
		qcom,mipi-csi-vdd-supply = <&pma8084_l12>;
	};

	tpiu@fc318000 {
		vdd-supply = <&pma8084_l21>;
		vdd-io-supply = <&pma8084_l13>;
	};

	qcom,mdss_dsi@fd922800 {
		vdd-supply = <&pma8084_l22>;
		vddio-supply = <&pma8084_l12>;
		vdda-supply = <&pma8084_l2>;
		qcom,platform-reset-gpio = <&pma8084_gpios 20 0>;
	};

	qcom,mdss_dsi@fd922e00 {
		vdd-supply = <&pma8084_l22>;
		vddio-supply = <&pma8084_l12>;
		vdda-supply = <&pma8084_l2>;
	};

	qcom,hdmi_tx@fd922100 {
		hpd-5v-supply = <&pma8084_mvs1>;
		core-vdda-supply = <&pma8084_l12>;
		core-vcc-supply = <&pma8084_s4>;
	};

	qcom,mdss_edp@fd923400 {
		vdda-supply = <&pma8084_l12>;
	};

	usb@f9a55000 {
		HSUSB_VDDCX-supply = <&pma8084_s2_corner>;
		HSUSB_1p8-supply = <&pma8084_l6>;
		HSUSB_3p3-supply = <&pma8084_l24>;
	};

	qcom,sdcc@f9824000 {
		vdd-supply = <&pma8084_l20>;
		vdd-io-supply = <&pma8084_s4>;
	};

	qcom,sdcc@f98a4000 {
		vdd-supply = <&pma8084_l21>;
		vdd-io-supply = <&pma8084_l13>;
	};

	slim@fe12f000 {
		taiko_codec {
			cdc-vdd-buck-supply = <&pma8084_s5>;
			cdc-vdd-tx-h-supply = <&pma8084_s4>;
			cdc-vdd-rx-h-supply = <&pma8084_s4>;
			cdc-vddpx-1-supply = <&pma8084_s4>;
			cdc-vdd-a-1p2v-supply = <&pma8084_l1>;
			cdc-vddcx-1-supply = <&pma8084_l1>;
			cdc-vddcx-2-supply = <&pma8084_l1>;
		};
	};

	qcom,clock-krait@f9016000 {
		l2-dig-supply = <&pma8084_s2_corner_ao>;
		hfpll-dig-supply = <&pma8084_s2_corner_ao>;
		hfpll-analog-supply = <&pma8084_l12_ao>;
	};

	qcom,ssusb@f9200000 {
		ssusb_vdd_dig-supply = <&pma8084_s2_corner>;
		SSUSB_1p8-supply = <&pma8084_l6>;
		hsusb_vdd_dig-supply = <&pma8084_s2_corner>;
		HSUSB_1p8-supply = <&pma8084_l6>;
		HSUSB_3p3-supply = <&pma8084_l24>;
	};

	qcom,ehci-host@f9a55000 {
		HSUSB_VDDCX-supply = <&pma8084_s2>;
		HSUSB_1p8-supply = <&pma8084_l6>;
		HSUSB_3p3-supply = <&pma8084_l24>;
	};

	qcom,gdsc@fd8c4024 {
		parent-supply = <&pma8084_s7_corner>;
	};

	qcom,lpass@fe200000 {
		vdd_cx-supply = <&pma8084_s2_corner>;
	};

	qcom,mss@fc880000 {
		vdd_mss-supply = <&pma8084_s6>;
		vdd_cx-supply = <&pma8084_s2_corner>;
		vdd_mx-supply = <&pma8084_s1>;
		vdd_pll-supply = <&pma8084_l12>;
	};

	qcom,pronto@fb21b000 {
		vdd_pronto_pll-supply = <&pma8084_l12>;
	};

	qcom,wcnss-wlan@fb000000 {
		qcom,pronto-vddmx-supply = <&pma8084_s1>;
		qcom,pronto-vddcx-supply = <&pma8084_s2>;
		qcom,pronto-vddpx-supply = <&pma8084_s4>;
		qcom,iris-vddxo-supply = <&pma8084_l6>;
		qcom,iris-vddrfa-supply = <&pma8084_l11>;
		qcom,iris-vddpa-supply = <&pma8084_l19>;
		qcom,iris-vdddig-supply = <&pma8084_s4>;
	};

	qcom,msm-thermal {
		vdd-dig-supply = <&pma8084_s2_floor_corner>;
		vdd-gfx-supply = <&pma8084_s7_floor_corner>;
		qti,pmic-opt-curr-temp = <85>;
		qti,pmic-opt-curr-temp-hysteresis = <10>;
		qti,pmic-opt-curr-regs = "vdd-dig";
		/delete-property/ qcom,pmic-sw-mode-temp;
		/delete-property/ qcom,pmic-sw-mode-temp-hysteresis;
		/delete-property/ qcom,pmic-sw-mode-regs;
	};

	qcom,lpm-resources {
		qcom,lpm-resources@0 {
			qcom,name = "vdd-dig";
			qcom,type = <0x61706d73>;	/* "smpa" */
			qcom,id = <2>;
		};

		qcom,lpm-resources@1 {
			qcom,name = "vdd-mem";
			qcom,type = <0x61706d73>;	/* "smpa" */
			qcom,id = <1>;
		};
	};

	sound {
		qcom,cdc-mclk-gpios = <&pma8084_gpios 15 0>;
	};
};

&krait_pdn {
	qcom,use-phase-switching;
};

&mdss_mdp {
	vdd-cx-supply = <&pma8084_s2_corner>;
};

&tspp {
	vdd_cx-supply = <&pma8084_s2_corner>;
};

&pma8084_s2_corner {
	qcom,init-smps-mode = <0>;	/* Allow AUTO mode for VDD_CX. */
};

&krait_regulator_pmic {
	status = "ok";

	qcom,ctl@2900 {
		status = "ok";
	};

	qcom,ps@2a00 {
		status = "ok";
	};

	qcom,freq@2b00 {
		status = "ok";
	};
};
